<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>todo-list-example</title>
    <!-- Delete ".min" for console warnings in development -->
    <script src="../vue.js"></script>

  </head>
  <body>

    <!-- app -->
    <div id="app">
      列表渲染 — Vue.js<br />
      https://cn.vuejs.org/v2/guide/list.html<br />
      <br />
      <div id="todo-list-example">
        <form v-on:submit.prevent="addNewTodo">
          <label for="new-todo">Add a todo</label>
          <input
            v-model="newTodoText"
            id="new-todo"
            placeholder="E.g. Feed the cat"
          >
          <button>Add</button>
        </form>
        <ul>
          <li
            is="todo-item"
            v-for="(todo, index) in todos"
            v-bind:key="todo.id"
            v-bind:title="todo.title"
            v-on:remove="todos.splice(index, 1)"
          ></li>
        </ul>
      </div>
    </div>

    <script>

Vue.component('todo-item', {
  template: '\
    <li>\
      {{ title }}\
      <button v-on:click="$emit(\'remove\')">Remove</button>\
    </li>\
  ',
  props: ['title']
})

new Vue({
  el: '#todo-list-example',
  data: {
    newTodoText: '',
    todos: [
      {
        id: 1,
        title: 'Do the dishes',
      },
      {
        id: 2,
        title: 'Take out the trash',
      },
      {
        id: 3,
        title: 'Mow the lawn'
      }
    ],
    nextTodoId: 4
  },
  methods: {
    addNewTodo: function () {
      if (this.newTodoText == '') {
        alert('请输入');
        return false;
      }
      this.todos.push({
        id: this.nextTodoId++,
        title: this.newTodoText
      })
      this.newTodoText = ''
    }
  }
})


    </script>
  </body>
</html>
